FreeCAD - это крупное приложение, для полной компиляции которого из исходного когда, может потребоваться от 10 минут до часа. В первую очередь это зависит от используемого процессора и количества ядер, используемых в процессе компиляции. Вот несколько советов, как сократить время процесса сборки.
Установите ccache
для кеширования сборок.
Ccache speeds up recompilation by caching previous compilations and detecting when the same compilation is done again. Ccache is free software, released under GPLv3 or later.
On most systems ccache will be automatically detected and enabled, you can use the FREECAD_USE_CCACHE
cmake
option to control this behavior.
При использовании cmake
для настройки сборки вы можете отключить компиляцию определенных инструментальных средств, которые в данный момент могут вам не понадобиться. Это полезно, если вам нужно протестировать только несколько инструментальных средств.
Например, чтобы исключить сборку верстаков FEM и Mesh:
cmake -DBUILD_FEM=OFF -DBUILD_MESH=OFF ../freecad-source
Используйте cmake-gui
, cmake-curses-gui
или cmake-qt-gui
для отображения всех возможных переменных, которые можно редактировать в конфигурации; с помощью этих интерфейсов вы можете легко включать или выключать различные инструментальные средства.
После настройки с помощью cmake
программа make
запускает настоящий компилятор C++ для работы с файлами исходного кода. Вы можете ускорить компиляцию, работая одновременно с различными файлами. Это достигается с помощью опции -j
make
, которая обозначает количество "задач" или команд компиляции, выполняемых одновременно. Этот параметр представляет собой целое число.
Выполняйте четыре команды компиляции параллельно:
make -j4
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе. Это полезно, если у вас много ядер и вы хотите использовать их все для компиляции программного обеспечения.
make -j$(nproc)
Скомпилируйте параллельно столько файлов, сколько ядер процессора в вашей системе, минус два. Используйте это, чтобы ваша система спокойно реагировала на выполнение какой-либо другой задачи; например, два ядра позволят вам использовать браузер, в то время как остальные ядра продолжают компилировать программное обеспечение в фоновом режиме.
make -j$(nproc --ignore=2)
Программа distcc
может использоваться для выполнения распределенной компиляции кода на языках C и C++ на нескольких компьютерах в сети.
Distcc should always generate the same results as a local compilation. It is free, simple to install and use, and often two or more times faster than compiling locally.
FreeCAD dev 'etrombly' has published a short explanation on how to install distcc to compile FreeCAD on a network of computers using Docker.